package algorithm.easy;

import java.util.ArrayList;
import java.util.List;

public class Solution118 {

    //输入: numRows = 5
    //输出: [[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]]
    public static List<List<Integer>> generate(int numRows) {
        List<List<Integer>> list = new ArrayList<>();
        if(numRows<=0){
            return null;
        }else if(numRows==1){
            Integer integer = new Integer(1);
            List<Integer> listTemp = new ArrayList<>();
            listTemp.add(integer);
            list.add(listTemp);
        }else {
            list = generate(numRows-1);
            List<Integer> listLast = list.get(list.size()-1);
            List<Integer> listTemp = new ArrayList<>();
            for(int i=0;i<listLast.size();i++){
                if(i==0){
                    listTemp.add(new Integer(1));
                }
                else{
                    Integer now  = listLast.get(i)+listLast.get(i-1);
                    listTemp.add(now);
                }
            }
            listTemp.add(new Integer(1));
            list.add(listTemp);
        }
        return list;
    }

    public static void main(String[] args){
        int numRows = 10;
        System.out.println(generate(numRows));
    }

}
